It is desired to stream data over the Internet in a reliable and cost effective manner. Typically, the streamed data are a video and/or an audio signal. Streaming data can be characterized by strict delay constraints, and sensitivity to packet losses. The current infrastructure of packet networks, such as the Internet, is insufficient to adequately support streaming applications. The quality of end-to-end streaming can be improved by using special coding techniques, such as multiple description coding (MDC) or fine-granularity-scalability (FGS) coding.
These coding techniques work particularly well when multiple paths are used for the description, see Apostolopoulos, “Reliable video communication over lossy packet networks using multiple state encoding and path diversity,” in VCIP, 2001, and Lin et al, “Video Transport over Ad Hoc Networks Using Multiple Paths,” Proceedings of The 2002 IEEE International Symposium on Circuit and Systems, May 2002, and Zhou et al., “Multi-path transport of FGS video,” Packet Video Workshop, 2003, Begen et al., “Multi-path selection for multiple description encoded video streaming,” in IEEE ICC, 2003, and Begen et al., in “Fast Heuristics for multi-path selection for multiple description encoded video streaming,” IEEE ICME, 2003.
Content delivery networks (CDN) have been used to provide path diversity for MDC video streaming, see Apostolopoulos et al., “On multiple description streaming with content delivery networks,” IEEE INFOCOM, 2002. However, that method requires that videos are pre-stored in edge servers of the network. Edge servers are located near the destination clients. This increases the cost of the streaming.
Prior art path selection usually requires that all links in the selected paths are disjoint. That is, the paths are ‘uncorrelated’. However, techniques based on maximally link-disjoint paths severely restrict the number of available paths, and on the average tend to be longer, increasing cost, latency, and packet losses.